Categorías destacadas
programacion php    
Artículo
6
¡votar!

 Sistema de Nombrado en Java (JNDI) [Parte I]


Excepciones de Nombrado

Muchos métodos de los paquetes JNDI lanzan una NamingException cuando necesitan indicar que la operación solicitada no se ha realizado.

Normalmente, usaremos un bloque try/catch para envolver los métodos que lanzan NamingException.

try {
    Context ctx = new InitialContext();
    Object obj = ctx.lookup("somename");
} catch (NamingException e) {
    // Handle the error
    System.err.println(e);
}

. Árbol de Clases Exception

El JNDI tiene un rico árbol de excepciones que nace de la clase NamingException.

Los nombres de las clases de las excepciones son auto-explicativos y los veremos más abajo. Para manejar una subclase particular de NamingException, capturamos la clase de forma separada. Por ejemplo el siguiente código trata especialmente a AuthenticationException y sus subclases.

try {
    Context ctx = new InitialContext();
    Object obj = ctx.lookup("somename");
} catch (AuthenticationException e) {
    // attempt to reacquire the authentication information
    ...
} catch (NamingException e) {
    // Handle the error
    System.err.println(e);
}

. Enumeraciones

Operaciones como Context.list() y DirContext.search() devuelven una NamingEnumeration . En estos casos, si ocurre un error y no se devuelve ningún resultado, se lanzará NamingException o una de sus subclases apropipadas en el momento en que se llame al método. Si ocurre un error pero hay algunos resultados para devolver, se devuelve una NamingEnumeration para que podamos obtener dichos resultados. Cuando todos los resultados se han acabado, llamar a NamingEnumeration.hasMore() causará que se una lance una NamingException (o una de sus subclases)  para indicar el error. En este punto, la enumeración ya no es válida y no se puede llamar a más métodos sobre ella.

Por ejemplo, si realizamos una search() y especificamos un contador límite (n) de cuántas respuestas devolver, el search() devolverá una enumeración consitente en como máximo n resultados. Si el número de resultados excede de n, cuando se llame a NamingEnumeration.hasMore() la vez n+1, se lanzará una SizeLimitExceededException.

Puedes ver la explicación sobre el contador límite en esta sección para ver un ejemplo.

. Ejemplos en este Tutorial

En el código de ejemplo en línea que está dentro de este tutorial, normalmente se omiten las clausulas try/catch para una mejor lectura. Normalmente, como aquí sólo se meustran fragmentos de código, sólo se incluyen las líneas que ilustran directamente el concepto. Veremos los bloques try/catch apropiados para NamingException si miramos los ficheros fuentes que acompañan este tutorial.

. Excepciones en el Paquete javax.naming

Aquí tenemos las direcciones en el API de Sun de las excepciones contenidas en el paquete javax.naming:

. Excepciones en el Paqute javax.naming.directory

Aquí tenemos las direcciones en el API de Sun de las excepciones contenidas en el paquete javax.naming.directory.

. Excepciones en el Paquete javax.naming.ldap

Aquí tenemos las direcciones en el API de Sun de las excepciones contenidas en el paquete javax.naming.directory:

Publicado por:
Ricard Lou Torrijos
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon